package com.mall.shop.repository;

import com.mall.shop.document.Book;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface BookElasticsearchRepository extends ElasticsearchRepository<Book,String> {

    List<Book> findBankById(String id);

}

// 泛型的参数分别是es的实体映射类型和主键类型
// 通过这种方式可以想使用mybatis-plus一样使用 es 提供的一些默认 CRUD 方法
// 除了使用默认的方法外，我们还可以自定义方法并且只需要定义方法而不需要具体去实现，es 会更具方法的名称自动的推断出方法的功能并自动生成实现类，方法名必须符合一定的规则
// 例如上面的 findBankById 方法，在写自定义方法时会有智能提示，跟着提示走就不会有问题
// RestHighLevelClient 则封装了所有对 es 的操作，推荐统一使用RestHighLevelClient